uint16_t a0 = (ops[0] & 0x000000000000FFFF) >> 0;
uint16_t a1 = (ops[0] & 0x00000000FFFF0000) >> 16;
uint16_t a2 = (ops[0] & 0x0000FFFF00000000) >> 32;
uint16_t a3 = (ops[0] & 0xFFFF000000000000) >> 48;
uint16_t b0 = (ops[1] & 0x000000000000FFFF) >> 0;
uint16_t b1 = (ops[1] & 0x00000000FFFF0000) >> 16;
uint16_t b2 = (ops[1] & 0x0000FFFF00000000) >> 32;
uint16_t b3 = (ops[1] & 0xFFFF000000000000) >> 48;
uint16_t t0 = a0 <= b0 ? a0 : b0;
uint16_t t1 = a1 <= b1 ? a1 : b1;
uint16_t t2 = a2 <= b2 ? a2 : b2;
uint16_t t3 = a3 <= b3 ? a3 : b3;
uint64_t c0 = (uint64_t)(t0) << 0;
uint64_t c1 = (uint64_t)(t1) << 16;
uint64_t c2 = (uint64_t)(t2) << 32;
uint64_t c3 = (uint64_t)(t3) << 48;
return c0 | c1 | c2 | c3;
